(1) Field of the Invention
The present invention relates to an error code correction method on a digital communication system, and more particularly to an error code correction method using the combination of error correction codes and block rearrangement to solve the packet loss issue.
(2) Description of the Prior Art
In the transmission of the digital signals, the distortion and errors generated by the timevarying decay and the Gaussian white noise are inevitable.
However, due to the help of the Error Correction Codes technology, digital signal transmission has a certain ability to recover signals from channel noise interference. And thus, error correction codes improve and enhance digital transmission reliability.
FIG. 1 shows a simplified digital signal transmission process. The original digital data stream signal M1 is divided into segment blocks in the step 100 and then each block is added by a header in step 110. An error correction coding is applied to each block in step 210 to become the signal c and the signal c is transmitted via the channel in step 500.
A receiver receives the received signal R from the channel. As may be subject to noise interference or packet loss, the signal R can be expressed as R=C+e, where e is the noise. Afterwards, an error correction decoding is applied to the signal R in step 810 and then the head of to each block is removed in step 820. Each block is recombined into a digital data stream M2. If the digital data stream M2 is the same as the digital data stream M1, the signal transmission succeeds by the help of the Error Correction Codes technology in step 210 and 810. If the digital data stream M2 is not the same as the digital data stream M1, the Error Correction Codes technology in step 210 and 810 can not overcome the channel noise interference or packet loss during the transmission in step 500.
In recent years, the error correction coding mainly is divided into two categories: linear block codes and nonlinear block codes. The Reed-Solomon Code (RS code) and Low Density Parity Check Codes (LDPC code) are the best known and most widely used linear block codes.
RS code is proposed by Reed and Solomon in 1960 and an error correction code of a wide variety application with very good performance. It can not only correct the random errors but also correct the sudden Error (Burst error).
Low Density Parity Check Codes (LDPC codes for short) is proposed by Gallager in 1962. It is a method of iterative decoding. However, by the limited computer hardware performance at that time, the LDPC code was not taken serious attention by academia. Until 1993, when Berrou et al proposed Turbo codes, people accidently rediscovered LDPC codes have excellent performance and great value in implementation by the research of Turbo codes.
When the academic community reexamined the LDPC code, people found that if the code length is longer, the LDPC code can be closer to the Shannon Limit than the Turbo code. D. MacKay in 1996 proved that an iterative algorithm of LDPC codes can be with excellent performance approaching Shannon limit, or even irregular LDPC code can be with excellent performance approaching the Shannon limit with only the 0.0045 dB distance. So, following the Turbo code, LDPC codes attracts popular attention in channel coding theory recent years. Studies have shown that, by the iterative algorithm using the BP (Belief Propagation) algorithm, LDPC codes can be used with lower hardware complexity to achieve performance approaching Shannon limit.
On the research of RS codes and LDPC codes, a lot of works are related to error correction codes or even the research on the erasure codes. But their researches in the processing of packet loss are actually not many. We consider a packet loss situation by the help of FIG. 2. FIG. 2 represents the segment blocks after the block segmentation step 100 of FIG. 1. Each block length is f bits in the segment blocks. Therefore, if we lost a block, we lost continuous f bits. Thus, as long as the number of packet loss increases, the recovery of received digital signals by the error correction codes become serious difficult.
In order to enhance the recovery ability of error correction codes technology, many researches have used the cascade code (or concatenation code). The coding process combines two coding processes called inside and outside codes. But the inside and outside the codes uses different codes separately, for example the traditional DVB adopts the RS code as well as the convolution code. This approach certainly promoted the restoration effect, but their effect is still made little!
In 2006, Sarah J. Johnson in “ERASURE CORRECTING LDPC CODES FOR CHANNELS WITH PACKETS LOSSES” has proposed to solve the problem of packet loss. But the literature does not explain the design of the packet and Hperm. This is because the Hperm has its degree of difficulty truly in the design. In particular, for handling multiple packet loss problems, in order to ensure that one packet loss (random) can be resolved through other packets (i.e. uses Hperm), the difficulty of the Hperm design will be increased as lost packets number increases. So the implementation will face great challenges.
Therefore, in the noise and the packet loss environment, the research on how to transmit digital signals completely was still defective.